In the industrial environment, it is known that graphical input aids and a display screen can be used for visualizing the control of the motion of a processing machine or a production machine (Hans D. Kief: NC/CNC Handbuch 2000 [NC/CNC Handbook 2000], Hansa Verlag, p. 254, FIG. 7 and p. 327, FIG. 6). The basic elements of graphical structure diagrams and flowcharts are defined in German Industrial Standard DIN 66,001.
In addition, it is stated in the article “Visual Languages—an Inexorable Trend in Industry” (Josef Hübl, PLCs/IPCs/Drives—Convention Volume, pp. 88-95, Nov. 23-25, 1999, Nuremberg, Verlag, Hüthig GmbH, Heidelberg) that control flowcharts and data-flow diagrams for control of automation functions may be created with the help of graphical editors.
The graphical input means and graphical editors available today for programming industrial controllers support only dedicated programming of either the controller of an industrial process, i.e., a programmable controller (PLC) function, or the motion controller of a processing machine or production machine. Creation of programs for both fields of applications is not adequately supported by the existing flowchart editors.
Another disadvantage of the flowchart editors used today for programming industrial automation functions is that the diagrams created with these editors are either converted directly to executable processor code or to ASCII code, and must subsequently be interpreted in the respective target system through a run time-intensive process. This system is not just inflexible with regard to porting and transfer of programs to other systems or machines, but does also restrict the user's debugging options.
Additional disadvantages of existing flowchart editors is that only a limited, rigid and inflexible library of icons is available, and that the processing sequence of icons and the corresponding function blocks is predetermined. Further, existing flowchart editors frequently offer only a limited number of possibilities for formulating synchronization mechanisms, although such mechanisms are frequently required, in particular for programming applications in industrial automation.